package com.codes.model;

import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Size;
import java.util.Date;

public class WorkOrder {
    @ApiModelProperty(value="需求工单名称",example="1")
    private Integer id;
    @Size(min = 1,max = 20,message = "名字的长度必须为1到20")
    @ApiModelProperty(value="需求工单名称",example="需求名称")
    private String name;
    @Size(min = 1,max = 20,message = "名字的长度必须为1到20")
    @ApiModelProperty(value="申请人id",example="1")
    private Integer applyUser;
    @Size(min = 1,max = 20,message = "名字的长度必须为1到20")
    @ApiModelProperty(value="审核人id",example="1")
    private Integer auditUser;
    @Size(min = 1,max = 20,message = "名字的长度必须为1到20")
    @ApiModelProperty(value="审核意见",example="需求名称")
    private String auditOpinion;
    @ApiModelProperty(value="工单类型默认0日计划1周计划2月计划",example="0")
    private Integer orderType;
    @Size(min = 1,max = 20,message = "名字的长度必须为1到20")
    @ApiModelProperty(value="工单状态0待审核1通过2驳回3修改",example="0")
    private Integer state;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="规定送达起始时间",example="2020-05-23 19:30:00")
    private Date startTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="规定最终送达时间",example="2020-05-23 19:30:00")
    private Date endTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="确认收货时间",example="2020-05-23 19:30:00")
    private Date confirmTime;

    private Integer isDelete;
    @ApiModelProperty(value="完成度",example="50%")
    private String performance;
    @ApiModelProperty(value="工单备注",example="请尽快送达")
    private String remark;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public Integer getApplyUser() {
        return applyUser;
    }

    public void setApplyUser(Integer applyUser) {
        this.applyUser = applyUser;
    }

    public Integer getAuditUser() {
        return auditUser;
    }

    public void setAuditUser(Integer auditUser) {
        this.auditUser = auditUser;
    }

    public String getAuditOpinion() {
        return auditOpinion;
    }

    public void setAuditOpinion(String auditOpinion) {
        this.auditOpinion = auditOpinion == null ? null : auditOpinion.trim();
    }

    public Integer getorderType() {
        return orderType;
    }

    public void setorderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getConfirmTime() {
        return confirmTime;
    }

    public void setConfirmTime(Date confirmTime) {
        this.confirmTime = confirmTime;
    }

    public Integer getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public String getPerformance() {
        return performance;
    }

    public void setPerformance(String performance) {
        this.performance = performance == null ? null : performance.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }
}